class Solution {
    /*
        链表模拟加法即可。
        注意创建一个头节点，可以简化插入操作
    */
    public ListNode addTwoNumbers(ListNode l1, ListNode l2) {
        ListNode head = new ListNode(-1);  
        ListNode tmp = head;
        int add = 0;
        while(l1!=null || l2!=null || add!=0){
            int n1 = (l1==null) ? 0 : l1.val;
            int n2 = (l2==null) ? 0 : l2.val;
            int num = n1 + n2 + add;
            tmp.next = new ListNode(num%10);
            add = num/10;
            tmp = tmp.next;
            if(l1!=null) l1 = l1.next;
            if(l2!=null) l2 = l2.next;
        }
        return head.next;
    }
}